Method for processing sound data and circuit therefor

ABSTRACT

A sound data processing apparatus includes a central processing unit for controlling predetermined processing in the apparatus, a rewritable RAM, a decoder performing the decoding processing for sound data, and an interface unit for being fitted with an external memory. The sound data processing apparatus reads a driver from the external memory mounted in the interface unit and stores the read driver into the RAM, and reads the sound data from the external memory with the driver and processes the read sound data. As a result, the wastefully using of the memory capacity of the memory mounted in the sound data processing apparatus is reduced.

CROSS-REFERENCE TO RELATED APPLICATION

The entire disclosure of Japanese Patent Application No. 2007-056530 filed on Mar. 7, 2007 including the specification, claims, drawings, and abstract is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a sound data processing apparatus for reading sound data stored in an external memory to process the read sound data.

2. Description of the Related Art

In recent years, a sound data processing apparatus for reading sound data stored in an external memory, such as a flash memory, by connecting the external memory to the apparatus, and for performing decoding processing and the like for the read sound data, has been widely used.

The configuration of a related art sound data processing apparatus 100 is shown in FIG. 3. The sound data processing apparatus 100 includes a central processing unit (CPU) 10, a decoder 12, an interface unit (IF unit) 14, and a NOR-type flash memory 16. A NAND-type external memory 102, such as a flash memory, is detected by the CPU 10 by connecting the external memory 102 to the IF unit 14.

The CPU 10 reads a driver for accessing the external memory 102, the driver being stored in the flash memory 16, and accesses the external memory 102 by means of the driver. That is, the CPU 10 reads the sound data stored in the external memory 102 in advance through the IF unit 14 on the basis of an instruction by a user or the like, and transfers the read sound data to the decoder 12 at predetermined timing. The decoder 12 decodes the sound data transferred from the CPU 10 in accordance with a predetermined format, and outputs the decoded sound data as an audio output.

Moreover, the technique of providing an audio system compatible with a multi-codec coping with a plurality of audio codecs was disclosed. The technique was also disclosed that used a CPU to judge whether an audio codec program stored in a RAM incorporated in a digital signal processing unit (DSP) was compatible with music information to be decoded by the digital signal processing unit or not, and that changed the processing of the program according to the compatibility.

Now, various types of NAND-type external memories 102 have been developed in recent years. It is necessary to store numerous drivers compatible with respective types of external memories 102 in the flash memory 16 in advance in order to cope with the various external memories 102. The memory capacity of the flash memory 16 should accordingly be enlarged with every increase in the types of external memory 102.

SUMMARY OF THE INVENTION

An aspect of the present invention is a sound data processing apparatus, including: a rewritable first memory; a decoder for performing sound data decoding processing; an interface unit connected to a second memory storing the sound data and a driver; a read only third memory for storing a boot program executed for reading the driver from the second memory connected to the interface unit and storing the read driver into the first memory; and a central processing unit for controlling processing of the first memory, the third memory, the decoder, and the interface unit, wherein the central processing unit performs control so as to read the driver from the second memory connected to the interface unit based on the boot program and storing the read driver into the first memory, to read the sound data from the second memory connected to the interface unit by means of the driver stored in the first memory, and to transfer the read sound data to the decoder.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present invention will be described in detail based on the following drawings, wherein:

FIG. 1 is a block diagram showing the configuration of a sound data processing apparatus of an embodiment of the present invention;

FIG. 2 is a flow chart showing a processing method of the sound data processing apparatus of the embodiment of the present invention; and

FIG. 3 is a block diagram showing the configuration of a related art sound data processing apparatus.

DESCRIPTION OF PREFERRED EMBODIMENTS Configuration of Apparatus

A sound data processing apparatus 200 of an embodiment of the present invention is composed of a central processing unit (CPU) 20, a decoder 22, an interface unit (IF unit) 24, a volatile memory (RAM) 26, and a nonvolatile memory (ROM) 28, as shown in FIG. 1.

The CPU 20, the decoder 22, the IF unit 24, the RAM 26, and the ROM 28 are connected with one another through a bus so as to be able to mutually exchange data. The sound data processing apparatus 200 is connected to an external memory 102 through the IF unit 24. A memory chip, such as a flash memory, and a memory card can be used as the external memory 102.

The CPU 20 is a semiconductor device to generally control a piece of electronic equipment including the sound data processing apparatus 200. As the electronic equipment to be mounted with the sound data processing apparatus 200, for example, a cellular phone equipped with wireless communication means, a portable music reproducing apparatus, and a personal digital assistant (PDA) for performing data management can be cited. The CPU 20 can be constituted by, for example, an application specific integrated circuit (ASIC). The CPU 20 controls the electronic equipment by accessing a boot program and a library, both stored in the ROM 28. For example, if the sound data processing apparatus 200 is the cellular phone, then the CPU 20 accepts the key input of a user from an operation unit (not shown) connected to the bus, and controls the processing of the wireless transmission and reception of sound signals and electronic mail according to the key input.

Incidentally, the present embodiment has a feature of sound data processing in which the sound data stored in the external memory 102 is read to be processed, but the control of the processing will be described later.

The decoder 22 takes in the sound data subjected to coding processing and compressing processing in a predetermined format from the bus, and performs the expanding processing and the decoding processing of the sound data in accordance with the format. As the coding system of sound data, for example, WMA, AMR, Div X, G.723, and MP3 can be cited.

The IF unit 24 is composed of an adapter unit mounting the external memory 102 therein, a connector unit electrically connected with an external terminal of the external memory 102, and a data processing unit performing the reading and the writing of data with the external memory 102.

The adapter unit of the IF unit 24 is configured to have an insertion space adjusted to the external form of the external memory 102. The connector unit of the IF unit 24 touches an electrode provided on the external memory 102 when the external memory 102 is mounted in the adapter unit, and as a result the connector unit electrically connects the internal electric circuits of the external memory 102 with the data processing unit of the IF unit 24.

The external memory 102 stores a primitive driver necessary for the sound data processing apparatus 200 to access the external memory 102, and an application program necessary for the sound data processing apparatus 200 to perform processing for music data reproduction and the like. If the external memory 102 is a memory card, for example, a control program or a control logic circuit in the data processing unit of the IF unit 24 interprets an instruction for data reading and the like from the CPU 20 through a register in conformity with a PC card ATA standard interface, and converts the instruction into a command according to the type of external memory 102 mounted on the adapter unit. The command is transmitted to the internal electric circuits of the external memory 102, and the data (sound data) stored in the external memory 102 is read.

Incidentally, the sound data processing apparatus 200 performs the processing, such as music data reproduction, by means of the application program stored in the external memory 102 and a basic program, which will be described later, stored in the ROM 28. Because the external memory 102 is a rewritable memory, a developer can rewrite the application program to update the program, or correct bugs. That is, it is preferable to use a program that is capable of being rewritten as the application program stored in the external memory 102.

The RAM 26 is a volatile semiconductor memory. As the RAM 26, an SRAM can be used. The primitive driver and the application program, both read from the external memory 102, are expanded in the RAM 26, and are subjected to processing according to each program by the CPU 20.

The ROM 28 is a nonvolatile semiconductor memory. The ROM 28 stores a boot program for automatically performing a series of processing steps at the time of starting the access to the external memory 102, a library to be used by the driver of the external memory 102, and the basic program necessary for operating the sound data processing apparatus 200.

Incidentally, only the library commonly referred to by each driver for each of a plurality of types of external memories 102 is stored in the ROM 28. That is, a library particularly referred to by each driver is not stored in the ROM 28. Moreover, it is preferable to uses a program having no possibility of being rewritten as the basic program stored in the ROM 28. This prevents wastefully using up the memory capacity of the ROM 28.

Control Method

Next, the control of the sound data processing apparatus 200 of the present embodiment will be described with reference to the flow chart shown in FIG. 2.

At Step S10, the external memory 102 is detected by the CPU 20. When the external memory 102 is mounted on the IF unit 24, the CPU 20 is electrically connected to the external memory 102 through the IF unit 24. By always outputting a signal o allow the CPU 20 to detect the mounting of the external memory 102 into the IF unit 24, the electrical connection of the IF unit 24 with the external memory 102 can be detected.

At Step S12, the primitive driver is read from the external memory 102 in accordance with the boot program. When the external memory 102 is detected by the CPU 20 at Step S10, the CPU 20 reads a program called an initial program loader (IPL), which is previously stored in the ROM 28. By executing the IPL, the CPU 20 invokes the boot program recorded in an area called a boot sector of the area called a master boot record (MBR) of the ROM 28.

The boot program is a program for reading the primitive driver stored in the external memory 102. The primitive driver is stored in common memory spaces in various types of the external memories 102. The CPU 20 accesses the predetermined memory space of the external memory 102 and reads the stored primitive driver to store the read primitive driver into the RAM 26 in accordance with the boot program.

Moreover, if there is information, such as the library, peculiar to the primitive driver, then it is preferable to store also this information into the external memory 102 in advance, and to read the information together with the primitive driver and store them in the RAM 26.

At Step S14, the application program is read from the external memory 102 to be expanded in the RAM 26, and an instruction of the reproduction processing of sound data is accepted on the basis of the basic program stored in the ROM 28 and the application program expanded in the RAM 26. The CPU 20 accepts a sound data reproduction processing instruction through a user interface (not shown), such as the operation unit, and specifying information for specifying the sound data of a reading object. The specifying information is, for example, a file name or the like that is specifically added to the sound data. Moreover, the sound data processing apparatus 200 may be adapted so that the CPU 20 may display a file name list of sound data that has been previously read from the external memory 102 mounted in the IF unit 24 on the display unit (not shown) of the user interface, to allow a user to select the file name of the sound data of the reproduction object in the list.

At Step S16, the CPU 20 accesses the external memory 102 in accordance with the read primitive driver, and performs the reproduction processing for the sound data. The CPU 20 accesses the header area in which the information expressing the memory area storing each sound data therein is registered by means of the primitive driver stored in the RAM 26 at Step S12, and ascertains the starting address and the ending address of the memory area in which the sound data specified by the specifying information input at Step S14 is stored. The CPU 20 then sequentially reads the data from the starting address to the ending address, and transmits the read data to the decoder 12. When the decoder 12 receives the transmitted sound data, the decoder 12 decodes the sound data and converts it into an audio signal in accordance with the format of the sound data, and outputs the converted sound signal.

Incidentally, if it is necessary for the primitive driver to refer to a library, it is preferable for the primitive driver to perform the processing, referring to the library stored in the RAM 26 or the ROM 28. That is, because the library commonly referred to by a plurality of drivers is previously stored in the ROM 28, the primitive driver can refer to the library. Moreover, because the library specific to a primitive driver has been read from the external memory 102 at Step S12 to be stored in the RAM 26, the primitive driver can refer to the library in the RAM 26.

As described above, the present embodiment reads the primitive driver stored in the external memory 102 and stores the read primitive driver into the built-in memory, and accesses the external memory 102 on the basis of the primitive driver. It therefore becomes unnecessary to store numerous drivers in the sound data processing apparatus 200 in advance. Consequently, the memory capacity of the built-in memory can be reduced in comparison with that of the related art.

Moreover, the present embodiment is configured to store the boot program, the library, and the basic program in the ROM 28, and to store the primitive driver and the application program in the external memory 102. Because some of the programs are transformed as library and stored in the ROM 28, the size of the programs stored in the external memory 102 can be reduced. Therefore the storage capacity of the RAM 26, in which the programs stored in the external memory 102 are expanded, can be reduced so that the circuit size can be reduced. If the ROM 28 is made of a mask ROM and the RAM 26 is made of an SRAM, the mask ROM can make the circuit size thereof smaller than that of the SRAM. Consequently, the circuit size of the sound data processing apparatus 200 can be reduced more in comparison with that in the case of storing all the programs in the external memory 102.

Because the programs having the possibility of being rewritten are stored in the external memory 102, it is possible to rewrite the programs for updating the programs or for correcting bugs. 

1. (canceled)
 2. (canceled)
 3. (canceled)
 4. (canceled)
 5. A method for reading sound data, comprising: detecting the presence of a first memory element; in response to detecting the first memory element, reading a first program stored in a second memory element; in response to reading the first program, reading a second program stored in the second memory element; executing the second program; invoking a third program stored in the second memory element in response to executing the second program; storing a fourth program in a third memory element in response to invoking the third program; reading a fifth program from the first memory element; expanding the fifth program in the third memory element; receiving an instruction for reproduction processing of sound data in response to a basic program stored in the second memory element and the fifth program expanded in third memory element; and converting the sound data into an audio signal.
 6. The method of claim 5, wherein detecting the presence of the first memory element includes using a central processing unit to detect the presence of the first memory element.
 7. The method of claim 5, wherein reading the second program comprises reading an initial program loader from the second memory element.
 8. The method of claim 7, wherein storing the fourth program in the third memory element includes reading the fourth program from the first memory element in response to invoking the third program.
 9. The method of claim 8, further including reading information related to the fourth program and storing the information related to the fourth program in the fourth memory element.
 10. The method of claim 7, further including accessing a header area in which information expressing a memory area storing sound data therein.
 11. The method of claim 10, further including using the fifth program stored in the third memory element to access the header area in which information expressing a memory area storing sound data therein.
 12. The method of claim 11, wherein accessing the header area further includes ascertaining a starting address and an ending address of a memory area in which sound data is stored.
 13. The method of claim 12, further including sequentially reading data from the starting address to the ending address and transmitting the sound data to a decoder.
 14. The method of claim 13, further including decoding the sound data.
 15. The method of claim 5, further including displaying a file name list of sound data that has been previously read from the first memory element.
 16. A method for reading sound data, comprising: detecting a first memory element; storing a device driver in a second memory element in response to a boot program, the device driver read from the first memory element; accepting reproduction processing instructions for sound data stored in the first memory element; and one of reading sound data to the first memory element or reading sound data from the first memory element.
 17. The method of claim 16, wherein detecting the first memory element comprises detecting a memory chip or a memory card.
 18. The method of claim 16, further including using a central processing unit to detect the first memory device.
 19. The method of claim 18, wherein storing the device driver in the second memory element in response to a boot program includes reading the boot program and a library stored in a second memory element.
 20. The method of claim 16, wherein reading the sound data from the first memory element includes decoding the sound data.
 21. The method of claim 20, further including performing expanding processing and decoding processing using a coding system of sound data selected from the group of coding systems comprising WMA, AMR, Div X, G.723, and MP3 processing.
 22. The method of claim 16, wherein reading the sound data to the first memory element includes encoding the sound data.
 23. The method of claim 16, further including storing a primitive driver configured to access the first memory element and an application program configured for processing the sound data in the first memory element.
 24. The method of claim 16, further including configuring the first memory element to be a rewritable memory element.
 25. A method for processing sound data, comprising: detecting a first memory element; reading a driver from the second memory in accordance with a boot program; storing the driver to a first memory that is a rewritable memory; using the driver stored in the first memory to read the sound data from the second memory; and transferring the sound data read from the second memory to one of a decoding device or an encoding device.
 26. The method of claim 25, further including storing an application program for performing reproduction processing for the sound data; and using a basic program stored in a third memory device to perform reproduction processing of the sound data.
 27. The method of claim 26, further including using an SRAM as the first memory element and a mask ROM as the third memory element. 